//
//  labelManager.h
//  Void Dead
//
//  Created by Sidney Just on 25.08.09.
//  Copyright 2009 Sidney Just
//  This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; 
//  either version 3 of the License, or (at your option) any later version.
//  
//  This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty 
//  of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
//  

#import <Foundation/Foundation.h>
@class VD_label;
@class VD_Engine;


/**
 * This class can be used to create labels on the screen.
 * A instance of this class will be provided by the VD_Engine class
 **/
@interface VD_labelManager : NSObject {
	VD_label **regLabels;
	int count;
	VD_Engine *render_view;
	
	int polyCount;
	int drawCalls;
}

/**
 * Inits the labelmanager
 @return Pointer to the labelmanager
 **/
- (id)initWithEngine:(VD_Engine *)eng;

/**
 * Creates a new label that will be handled by this class
 @return Pointer to the new label
 **/
- (VD_label *)createLabel;

/**
 * Deletes the given label
 @param lbl The label that should be deleted
 **/
- (void)deleteLabel:(VD_label *)lbl;

/**
 * Draws all labels on the screen
 **/
- (void)drawAll;

@end
